package org.mysocial.services.business;

import javax.ejb.Local;

import org.mysocial.datamodel.Account;
import org.mysocial.datamodel.Comment;
import org.mysocial.datamodel.Like;
import org.mysocial.datamodel.Link;
import org.mysocial.datamodel.Picture;
import org.mysocial.datamodel.Post;
import org.mysocial.datamodel.Text;
import org.mysocial.datamodel.Upload;

@Local
public interface PostBusiness
{
	<T extends Post> Post make(Class<T> postNature);

	public Upload postPicture(Account account, String text, Picture picture);

	public Text postText(Account account, String text);

	public Link postUrl(Account account, String text, String url);

	public void removeComment(Comment comment);

	public void removeLike(Like like);

	public void removePost(Post post);

	public Comment replyComment(Account account, String text, Post target);

	public Like replyLike(Account account, Post target);
}
